package com.ruoyi.sbxm.xmjh.mapper;

import java.util.List;
import com.ruoyi.sbxm.xmjh.domain.Xmjh;
import com.ruoyi.sbxm.xmjh.domain.XmjhFj;

/**
 * 项目计划Mapper接口
 *
 * @author huacai
 * @date 2024-11-09
 */
public interface XmjhMapper
{
    /**
     * 查询项目计划
     *
     * @param xmjhId 项目计划主键
     * @return 项目计划
     */
    public Xmjh selectXmjhByXmjhId(String xmjhId);

    /**
     * 查询项目计划列表
     *
     * @param xmjh 项目计划
     * @return 项目计划集合
     */
    public List<Xmjh> selectXmjhList(Xmjh xmjh);

    /**
     * 新增项目计划
     *
     * @param xmjh 项目计划
     * @return 结果
     */
    public int insertXmjh(Xmjh xmjh);

    /**
     * 修改项目计划
     *
     * @param xmjh 项目计划
     * @return 结果
     */
    public int updateXmjh(Xmjh xmjh);

    /**
     * 删除项目计划
     *
     * @param xmjhId 项目计划主键
     * @return 结果
     */
    public int deleteXmjhByXmjhId(String xmjhId);

    /**
     * 批量删除项目计划
     *
     * @param xmjhIds 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteXmjhByXmjhIds(String[] xmjhIds);

    /**
     * 批量删除项目计划附件
     *
     * @param xmjhIds 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteXmjhFjByXmjhIds(String[] xmjhIds);

    /**
     * 批量新增项目计划附件
     *
     * @param xmjhFjList 项目计划附件列表
     * @return 结果
     */
    public int batchXmjhFj(List<XmjhFj> xmjhFjList);


    /**
     * 通过项目计划主键删除项目计划附件信息
     *
     * @param xmjhId 项目计划ID
     * @return 结果
     */
    public int deleteXmjhFjByXmjhId(String xmjhId);

    /**
     * 新增附件
     * @param xmjhFj
     * @return
     */
    int insertXmjhFjByXmjhId(XmjhFj xmjhFj);

    /**
     * 根据ID查询附件列表
     * @param xmjhFj
     * @return
     */
    List<XmjhFj> selectXmjhFjList(XmjhFj xmjhFj);

    /**
     * 删除项目计划附件
     * @param fjIds
     * @return
     */
    int deleteXmjhFjByFjIds(Integer[] fjIds);
}
